PHPでheader関数のCache-controlパラメータの使い方
PHPでは、header関数を使用してレスポンスヘッダーのCache-controlパラメータを設定することができます。このパラメータは、ブラウザキャッシュの動作を制御するために使用されます。以下に、一般的なCache-controlパラメータとその使用方法を示します:
- public: 任意のキャッシュによって保存される可能性のあるレスポンスを指定します。
header("Cache-control: public");
- プライベート: 特定のユーザーのみがキャッシュできるよう指定されたレスポンスです。通常、ユーザー固有の情報が含まれるページに使用されます。
header("Cache-control: private");
- no-cache: キャッシュを使用する前に、ブラウザーがサーバーにリクエストを送信して検証する必要があります。
header("Cache-control: no-cache");
- no-store: ウェブブラウザがレスポンスコンテンツをキャッシュしないように指定します。
header("Cache-control: no-store");
- must-revalidate:ブラウザは、キャッシュの有効期限が切れる前にサーバーに確認のためのリクエストを送信しなければならないよう指定されています。
header("Cache-control: must-revalidate");
- max-age:レスポンスがキャッシュされることができる最長時間(秒単位)を指定します。
header("Cache-control: max-age=3600"); // 缓存1小时
- s-maxage:max-ageと似ていますが、共有キャッシュ(例:CDN)にのみ適用されます。
header("Cache-control: s-maxage=3600"); // 缓存1小时
- no-transform:ブラウザはレスポンスの内容を変換(圧縮など)すべきではないと指定されています。
header("Cache-control: no-transform");
実際のニーズに応じて適切なCache-controlパラメータを選択し、ブラウザのキャッシュ動作を制御することができます。 応答ヘッダを設定する際は、出力する前にこの関数を呼び出すことを確認する必要があります。